package com.suneee.trades.dao;

import java.util.List;
import java.util.Map;

import com.suneee.context.page.Page;
import com.suneee.orm.Dao;
import com.suneee.trades.bean.HistoryOrderDTO;
import com.suneee.trades.bean.TradesInfoDTO;
import com.suneee.trades.entity.HistoryOrder;
import com.suneee.trades.entity.TradesInfo;


public interface TradesInfoDao extends Dao<TradesInfo, String>{

	/**
	 * 批量更新
	 * 
	 * @param infos
	 */
	public void batchUpdateTradesInfo(List<TradesInfo> infos);

	/**
	 * 批量获取交易信息
	 * 
	 * @param tids
	 * @return
	 */
	public List<TradesInfo> batchTradesInfoByTid(List<Object> tids);
	
	
	/**
	 * 待合并订单是否被锁定
	 */
	
	public boolean isLocked(String[] tids,Integer adminId);
	
	/**
	 * 获取单个交易
	 * @param tid
	 * @return
	 */
	public TradesInfo getTradesInfo(String tid);
	
	
//	public Page<TradesInfo> getExaminList(TradesInfoDTO dto);
	
	
//	public Page<TradesInfo> historyOrders(TradesInfoDTO dto);
	
	public  Page<Map<String, Object>> historyOrders(TradesInfoDTO dto);
	
	/**
	 * 获取待处理交易
	 * @return
	 */
	public List<TradesInfo> getDoInTrade(String  enterpriseCode);
	
	public List<TradesInfo> getDoInTradeSyn(String  enterpriseCode);
	
	
	public List<TradesInfo> exportHistoryOrders(TradesInfoDTO dto);
	
	
	/**
	 * 获取待审单列表
	 * @param dto
	 * @return
	 */
	public  Page<Map<String, Object>> getExaminPageList(TradesInfoDTO dto);
	
	/**
	 * 获取成交金额
	 * @param enterpriseCode
	 * @return
	 */
	public  List<Map<String, Object>> getTotalFree(String enterpriseCode);
	
	/**
	 * 查询未推送到ERP侧的订单
	 * @return
	 */
	public List<TradesInfo> queryNotSynTradesInfo(String enterpriseCode);
	
	
	/**
	 * 检查销售单是否有售后单
	 * @return
	 */
	public boolean checkRefundId(String tid);
	
	
}
